#ifndef NANE_VERTEXBUFFER_H
#   define  NANE_VERTEXBUFFER_H

#   include "nane/core/SubSystemProduct.h"

namespace nane 
{
    class VertexBuffer
        : public SubSystemProduct
    {
    protected:
        friend class RenderSystem;
        class Implementation;

    public:
        VertexBuffer( const NullType& = NullPtr );
        VertexBuffer( Implementation* _impl );
        VertexBuffer( const VertexBuffer& _other );

    public:
        byte* Lock( uint32 _offset, uint32 _size );
        void Unlock();

    private:
        Implementation* m;
    };    
}   // namespace nane

#endif	// NANE_VERTEXBUFFER_H
